﻿using System;
using System.Collections.Generic;
using DATA.Base;
using DATA.BusinessObjects;
using DATA.ManagerObjects;
using NHibernate;

namespace BUS
{
    public class ChiTietHoaDonBUS
    {
        #region thêm chi tiết hoá đơn
        public static Boolean Them(Chitiethoadon cthd)
        {
            Boolean flag = false;
            ISession isession = NHibernateSessionManager.Instance.Session.GetISession();
            ITransaction iTrans = null;
            try
            {
                iTrans = isession.BeginTransaction();
                isession.Save(cthd);
                iTrans.Commit();
                flag = true;
            }
            catch (Exception ex)
            {
                iTrans.Rollback();
                isession.Close();
                throw new Exception("Lỗi, không thêm được chi tiết hoá đơn", ex);
            }

            return flag;
        }
        #endregion

        #region lấy chi tiết hoá đơn mới nhất
        public static Chitiethoadon LayChiTietHoaDonMoiNhat()
        {
            Chitiethoadon cthd = null;

            IManagerFactory MF = new ManagerFactory();
            IChitiethoadonManager CTHDM = MF.GetChitiethoadonManager();

            String sql = "FROM Chitiethoadon cthd "
                        + "WHERE length(cthd.Id) = (Select MAX(length(cthd.Id)) "
                                                + "from Chitiethoadon cthd) "
                        + "ORDER BY cthd.Id desc";

            IList<Chitiethoadon> list = CTHDM.GetByQuery(sql);
            cthd = list[0];

            return cthd;
        }
        #endregion
    }
}
